#ifndef RAYTRACING_VECTOR3
#define RAYTRACING_VECTOR3

#include <iostream>

class Vector3{
    public:
    double X;
    double Y;
    double Z;

    Vector3(double x, double y, double z);
    Vector3 Cross(const Vector3 &u, const Vector3 &v);
    double Dot(const Vector3 &u, const Vector3 &v);
    Vector3 operator-(const Vector3 &v);
    Vector3 operator+(const Vector3 &v);
    void operator+=(const Vector3 &v);
    void operator-=(const Vector3 &v);
};
std::ostream& operator<<(std::ostream& out,  Vector3& v);




#endif